1. Technical Field
The present disclosure relates to the integrated memories field. Particularly, the present disclosure regards protection registers for non-volatile memories.
2. Description of the Related Art
Non-volatile memory is a type of memory that can retain the stored information even when not powered. Just to mention a few examples, known non-volatile memories include erasable and programmable read-only memories, flash memories, and phase change memories. Such devices generally have one or more memory blocks formed by memory arrays of storage elements, referred to as memory cells; typically, the memory cells of an array are arranged in rows and columns, associated with corresponding word lines and bit lines, respectively.
Most modern non-volatile memories require to store configuration data in a way which is not freely accessible to the end user. Such configuration data may include factory device identifiers, manufacturing information, data that can increase system security or prevent device substitution—such as passwords and/or encryption and decryption keys—, test information, and any data that needs to be permanently locked to prevent user alteration.
For this purpose, known non-volatile memory devices are provided with so called protection registers. A protection register is a dedicated memory register that is not freely accessible to the end user, the data stored therein being readable—and modifiable—only under certain conditions, for example together with the provision of a correct sequence of dedicated commands and correct passwords. A protection register may be used to directly store the data that are to be rendered inaccessible to the end user. Moreover, a protection register may be used to store information about the reading/writing/erasing rights given to an end user towards specific portions of the memory arrays of the memory device; for example, portions of one or more memory arrays may be associated with a corresponding bit stored in the protection register, whose value determines if the memory cells of said portions are freely accessible—e.g., in reading—or not by an end user. In this way, it is possible to “lock” the information stored in certain portions of the memory arrays of the memory device, protecting them from unauthorized accesses.
Known protection registers for non-volatile memories are implemented by means of storage elements, referred to as protection memory cells, which are arranged in a dedicated mini-array separated from the other memory arrays forming the memory blocks. Moreover, the protection memory cells of such mini-arrays are not of the same type of the memory cells forming the memory arrays. Indeed, in order to lock the protection register so that the data stored therein may not be overwritten, the protection memory cells are typically of the one-time programmable type. Unlike a memory cell of the memory array, which can be reprogrammed a high number of times—e.g., a memory cell of a modern single-level NAND flash memory can be subjected to up to 100,000 program cycles—, a one-time programmable memory cell can be programmed only once. The programming typically involves the “blowing” of a fuse element of the memory cell, such as a thin gate oxide MOS transistor; in this way, the programming of a one-time programmable memory is irreversible.
Because of the area required for integrating such fuse elements is decidedly higher than that required for integrating a normal memory cell, the number of protection memory cells forming a one-time programmable protection register needs to be kept as small as possible. This constraint negatively affects the amount of data that can be stored in the protection register.
Moreover, in order to read and/or program the protection registers, the one-time programmable memory cells requires dedicated read and write circuits, which are different from the ones used for reading and writing data from/into the memory cells forming the memory arrays.
Furthermore, the manufacturing techniques used to form such on-time programmable memory cells are quite different from the standard processes used to integrate the normal memory cells, thereby increasing the complexity and the cost of the whole non-volatile memory device.